Streaming media relates to constantly delivering media by a provider over a period of time, the media to be received by a client and optionally displayed to a user.
Streaming may be used for any type of information such as data, audio or video, and content such as music, movies, games, closed captioning, stock ticker, real-time text, medical operations, or any other data to be streamed or broadcast. Common environments or applications of streaming media include but are not limited to interactive television information systems such as video on-demand (VoD) providing pre-ready contents or games, and internet television.
Streaming media has become more and more popular due to a number of reasons, including the increased available network bandwidth, especially in the last mile, increased access to and commercialization of networks, especially the Internet, and the use of standard protocols and formats, such as TCP/IP, HTTP, and HTML.
Some streaming applications use User Datagram Protocol (UDP), especially in broadcast services. UDP is generally an unreliable protocol and is vulnerable to lost IP packets.
It will be appreciated that the loss of even a single packet may have a large impact on the video quality at the subscriber side, for example at the set top box (STB). For example, when H.264/MPEG-4 compression is used, a frame may be expressed relatively to a previous frame, e.g. indicating only the changes from the previous frame. Thus, if a frame or part thereof is lost, subsequent frames may become useless as well. This is particularly harmful in environments in which low latency is important, such as gaming.